feat: TUI at full dashboard parity — Miller columns, background scan, all sections#80
Merged
Conversation
… all sections Rework the terminal UI to feature-parity with the web dashboard. Miller drill-down columns (sections -> list -> tabbed detail, gitui-style, equal width). Background scan on a thread so the shell renders instantly instead of blocking on git. ? help overlay from a shared KEYBINDINGS table. Enter routed to the focused column. Artifact detail tabs (Preview/Code/Diff/Provenance/ Frontmatter/History/Companions); ADRs; provenance/integrity; variants; search with filters+sorts; and Settings/Hooks/Config/Schemas file browsers — every dashboard section. Pure view builders and the config/hooks/schemas readers promoted to commands::services (builders, files), shared by dashboard and TUI. Cached per-frame list rows; search-input and detail-tab key routing fixed. Follow-up: line annotation -> tuicr export from the Code tab.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Approach
Reworks the terminal UI to feature-parity with the web dashboard. Miller drill-down columns (sections → list → tabbed detail, gitui-style). Background scan on a thread so the shell renders instantly instead of blocking 7–9s on git.
?help overlay from a sharedKEYBINDINGStable. Enter routed to the focused column. Tabbed artifact detail (Preview/Code/Diff/Provenance/Frontmatter/History/Companions), ADRs, provenance/integrity, variants, search filters+sorts, and Settings/Hooks/Config/Schemas browsers — every dashboard section (13 total). Pure view builders and the config/hooks/schemas readers promoted tocommands::services(builders,files), shared by dashboard and TUI.Adversarial review (agy / Gemini 3.1 Pro, three passes)
Six real issues found and fixed with regression tests: untypeable search box (global keys shadowed input), detail-tab digit shortcuts shadowed,
list_rows()recomputed 3×/frame (would re-freeze the UI), sync provider/watchlist loads before first render, file-browser symlink arbitrary-read (asettings.json→~/.ssh/id_rsaleak), and unbounded config-file read.Test plan
Follow-up (not in this PR)
Syntax highlighting (glow), line-annotation→tuicr export, column-width auto-adjust.
🤖 Generated with Claude Code